博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
用户登陆,退出等基本Action(2)
阅读量:2454 次
发布时间:2019-05-10

本文共 3406 字,大约阅读时间需要 11 分钟。

用户登陆页面user_login.jsp对应action为login.do:

用户登陆
用户名:
密 码:
验证码:  
  记住用户名
 

  用户登陆类(UserLogin.java):

package com.web.struts.action;import javax.servlet.http.Cookie;import org.apache.commons.lang.StringUtils;import commodel.Member;import com.service.IMemberService;import com.tools.Constant;import com.tools.MD5Bean;/** * title:用户登陆 *  * @author conkeyn * @时间 2009-3-24:上午10:06:25 */public class UserLogin extends BaseAction {	/**  */	private static final long serialVersionUID = -8059803575427183277L;	private Member member;	public void setMemberService(IMemberService memberService) {		this.memberService = memberService;	}	private IMemberService memberService;	/**	 * 退出	 * 	 * @return	 */	public String logout() {		getSession().removeAttribute(Constant.MEMBER_SESSION_ID);		Cookie[] cookies = getRequest().getCookies();		Cookie member_cookie = null;		for (int i = 0; i < cookies.length; i++) {			member_cookie = cookies[i];			if (member_cookie != null					&& StringUtils.isNotBlank(member_cookie.getName())					&& StringUtils.isNotBlank(member_cookie.getValue())					&& member_cookie.getName().equals(							Constant.MEMBER_SESSION_ID)) {				member_cookie.setMaxAge(-1);// 设置有效期为-1秒,浏览器会自动删除				getResponse().addCookie(member_cookie);				break;			}		}		return SUCCESS;	}	/**	 * 用户登陆	 * 	 * @return	 */	public String login() {		return "login";	}	/**	 * 处理用户登陆	 * 	 * @return	 */	public String process() {		String confirm_code = getRequest().getParameter("confirm_code");		String confirmcode = (String) getSession().getAttribute("confirmcode");		if (StringUtils.isNotBlank(confirm_code)				&& StringUtils.isNotBlank(confirmcode)				&& confirm_code.equals(confirmcode)) {			String username = getRequest().getParameter("username");			String pwd = getRequest().getParameter("pwd");			String rember_me = getRequest().getParameter("rember_me");			MD5Bean md5 = new MD5Bean();			pwd = md5.MD5Encrypt(pwd);			member = memberService.getMember(username);			if (member == null) {				this.addActionError("不存在该用户,请注册后再登陆!");				return ERROR;			} else if (!pwd.equalsIgnoreCase(member.getPwd())) {				this.addActionError("密码错误,请重新输入!");				return ERROR;			}			getSession().setAttribute(Constant.MEMBER_SESSION_ID,					member.getUsername());			// 设置cookie			if (StringUtils.isNotBlank(rember_me)					&& rember_me.equalsIgnoreCase("true")) {				Cookie cookie = new Cookie(Constant.MEMBER_SESSION_ID, member						.getUsername());				cookie.setMaxAge(60 * 60 * 24 * 365);				getResponse().addCookie(cookie);			}			member.setLoged(true);			memberService.saveMember(member);		} else {			this.addActionError("验证码错误,请重新输入!");			return ERROR;		}		return SUCCESS;	}	public Member getMember() {		return member;	}	public void setMember(Member member) {		this.member = member;	}}

 

Struts配置文件(struts-login.xml):

/WEB-INF/pages/userlogin.jsp
login
/WEB-INF/pages/userlogin.jsp
/WEB-INF/pages/userlogin_msg.jsp
 

 

 

 

 

 

 

转载地址:http://dzdhb.baihongyu.com/

你可能感兴趣的文章
apache常用配置
查看>>
JS匿名执行函数
查看>>
关于InputStream类的available()方法
查看>>
六边形架构模式
查看>>
HAOI2007 理想的正方形 单调队列
查看>>
(原创)c#学习笔记04--流程控制04--循环03--for循环
查看>>
从控制台输入一个五位数,计算各个数位之和
查看>>
为Sublime Text 3设置优雅的字体
查看>>
Eclipse使用Jetty(转)
查看>>
vim命令收集(持续中)
查看>>
Zynq -- 启动过程
查看>>
206. Reverse Linked List(LeetCode)
查看>>
day 04 Java并发多线程
查看>>
Java定时任务调度工具Timer Quartz
查看>>
WPF,Silverlight与XAML读书笔记第三十五 - 可视化效果之图像
查看>>
Nginx中location配置[转]
查看>>
编程重点
查看>>
00-A-springmvc分布式项目项目结构
查看>>
vs调试时报503错误
查看>>
SVN使用&CVS使用
查看>>